home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micromail 103 / MicroMail.jar / AddressHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-07  |  3.5 KB  |  147 lines

  1. import com.siemens.mp.io.File;
  2. import java.io.ByteArrayInputStream;
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataInputStream;
  5. import java.io.DataOutputStream;
  6. import java.util.Vector;
  7.  
  8. public class AddressHandler {
  9.    private static int retCode;
  10.    private static int iRecordsNo;
  11.    private static final String fileName;
  12.    private static final String tempFileName = "Address.tmp";
  13.    private static final int buffLen = 80;
  14.  
  15.    static {
  16.       fileName = "Address" + Globals.fileExtension;
  17.    }
  18.  
  19.    public static void closeFile() {
  20.       try {
  21.          Globals.file.close(Globals.fileDesc);
  22.          System.out.println("File closed: " + Globals.fileDesc);
  23.       } catch (Exception var0) {
  24.       }
  25.  
  26.    }
  27.  
  28.    public static void deleteRecord(int var0) {
  29.       try {
  30.          try {
  31.             File var10000 = Globals.file;
  32.             File.delete("Address.tmp");
  33.          } catch (Exception var4) {
  34.          }
  35.  
  36.          Globals.fileDesc = Globals.file.open(fileName);
  37.          Globals.fileDesc2 = Globals.file2.open("Address.tmp");
  38.  
  39.          for(int var1 = 0; var1 < var0; ++var1) {
  40.             Globals.file.seek(Globals.fileDesc, 80 * var1);
  41.             Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 80);
  42.             Globals.file2.seek(Globals.fileDesc2, 80 * var1);
  43.             Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 80);
  44.          }
  45.  
  46.          for(int var2 = var0 + 1; var2 < iRecordsNo; ++var2) {
  47.             Globals.file.seek(Globals.fileDesc, 80 * var2);
  48.             Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 80);
  49.             Globals.file2.seek(Globals.fileDesc2, 80 * (var2 - 1));
  50.             Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 80);
  51.          }
  52.  
  53.          Globals.file.close(Globals.fileDesc);
  54.          Globals.file2.close(Globals.fileDesc2);
  55.          File var6 = Globals.file;
  56.          File.delete(fileName);
  57.          var6 = Globals.file2;
  58.          int var3 = File.rename("Address.tmp", fileName);
  59.       } catch (Exception var5) {
  60.          MicroMail.printInfo(var5.getClass().getName() + ": " + ((Throwable)var5).getMessage());
  61.          ((Throwable)var5).printStackTrace();
  62.       }
  63.  
  64.    }
  65.  
  66.    public static Address getAddress(int var0) {
  67.       Address var1 = new Address();
  68.  
  69.       try {
  70.          Globals.file.seek(Globals.fileDesc, 80 * var0);
  71.          Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 80);
  72.          ByteArrayInputStream var2 = new ByteArrayInputStream(Globals.byteArray);
  73.          DataInputStream var3 = new DataInputStream(var2);
  74.          var1.ID = var0;
  75.          var1.name = var3.readUTF();
  76.          var1.email = var3.readUTF();
  77.          var3.close();
  78.          Object var6 = null;
  79.          var2.close();
  80.          Object var5 = null;
  81.       } catch (Exception var4) {
  82.          MicroMail.printInfo("method getAddress:" + var4.getClass().getName() + ": " + ((Throwable)var4).getMessage());
  83.          ((Throwable)var4).printStackTrace();
  84.       }
  85.  
  86.       return var1;
  87.    }
  88.  
  89.    public static Vector getAddressBook() {
  90.       try {
  91.          Vector var0 = new Vector(iRecordsNo);
  92.          System.out.println("vector size:" + iRecordsNo);
  93.  
  94.          for(int var1 = 0; var1 < iRecordsNo; ++var1) {
  95.             var0.addElement(getAddress(var1));
  96.          }
  97.  
  98.          return var0;
  99.       } catch (Exception var2) {
  100.          MicroMail.printInfo("method getAllAddresses:" + var2.getClass().getName() + ": " + ((Throwable)var2).getMessage());
  101.          ((Throwable)var2).printStackTrace();
  102.          return null;
  103.       }
  104.    }
  105.  
  106.    public static void openFile() {
  107.       try {
  108.          Globals.fileDesc = Globals.file.open(fileName);
  109.          iRecordsNo = Globals.file.length(Globals.fileDesc) / 80;
  110.          System.out.println("File opened: " + Globals.fileDesc);
  111.       } catch (Exception var0) {
  112.       }
  113.  
  114.    }
  115.  
  116.    public static void storeAddress(Address var0) {
  117.       try {
  118.          ByteArrayOutputStream var2 = new ByteArrayOutputStream();
  119.          DataOutputStream var3 = new DataOutputStream(var2);
  120.          var3.writeUTF(var0.name);
  121.          var3.writeUTF(var0.email);
  122.          byte[] var1 = var2.toByteArray();
  123.          var3.close();
  124.          Object var7 = null;
  125.          var2.close();
  126.          Object var6 = null;
  127.          System.out.println("before store");
  128.          if (var0.ID < 0) {
  129.             Globals.file.seek(Globals.fileDesc, Globals.file.length(Globals.fileDesc));
  130.             Globals.file.write(Globals.fileDesc, var1, 0, 80);
  131.             var0.ID = iRecordsNo;
  132.          } else {
  133.             MicroMail.printInfo("update address");
  134.             Globals.file.seek(Globals.fileDesc, 80 * var0.ID);
  135.             Globals.file.write(Globals.fileDesc, var1, 0, 80);
  136.          }
  137.  
  138.          Object var5 = null;
  139.          System.out.println("after store");
  140.       } catch (Exception var4) {
  141.          MicroMail.printInfo("method storeAddress:" + var4.getClass().getName() + ": " + ((Throwable)var4).getMessage());
  142.          ((Throwable)var4).printStackTrace();
  143.       }
  144.  
  145.    }
  146. }
  147.